//package com.zmn.plat.business.interfaces.oneprice;
//
//import java.util.List;
//
//import com.zmn.mcc.cas.model.LoginStaff;
//import com.zmn.plat.model.entity.area.BaseArea;
//import com.zmn.plat.model.entity.oneprice.ChannelPrice;
//import com.zmn.plat.model.entity.oneprice.ChannelPriceSupportCategoryQuery;
//import com.zmn.plat.model.entity.oneprice.ChannelPriceVO;
//import com.zmn.plat.model.entity.oneprice.SupportTariffCategoryVO;
//
///**
// * ChannelPriceServiceImpl
// *
// * @author tanghongjun
// * @updater wagnjie 2019-07-07
// * @updater wangjie 添加保存一口价配置信息接口
// * @since 18/10/15 11:09
// */
//public interface ChannelPriceBService {
//    /**
//     * 描述:根据渠道ID加载可选省
//     *
//     * @param
//     * @return
//     * @author tanghongjun
//     * @since 2019/7/4 16:05
//     */
//    List<BaseArea> findByChannelId(Integer channelId);
//
//    /**
//     * 获取支持计价器分类
//     *
//     * @param channelId
//     * @param cityId
//     * @return
//     * @author xiangjunming
//     * @since 2020/04/10 18:00
//     */
//    List<SupportTariffCategoryVO> listSupportTariffCategory(Integer channelId, Integer cityId, List<Integer> servCategIds, List<Integer> categIds);
//
//    /**
//     * 渠道计价器试点：
//     * 	1. 渠道层面：渠道是否开通计价器试点，渠道对应的城市是否开通计价器试点（执行城市，不执行城市），渠道开通的分类是否开通计价器试点
//     * 	2. 城市层面：城市是否开通计价器试点（执行城市），城市开通的分类是否支持计价器试点。
//     *
//     * 执行逻辑：
//     * 	1.渠道层面：渠道支持计价器试点，查询城市是否在渠道配置的执行和不执行城市中，如果命中执行城市，查询渠道对应的分类是否支持；如果命中不执行城市，那么不支持；如果都不命中，那么需要执行城市层面的判断逻辑；
//     * 				渠道不支持试点，执行城市层面的处理逻辑
//     * 	2.城市层面：城市支持计价器试点，查询分类是否支持试点，不支持则不支持试点
//     * 				城市不支持计价器试点，则不支持试点
//     * 	3.需要对试点配置的类型（一口价，计价器）和状态进行判断，停用的可以当做不存在处理，执行上述1 2处理。
//     *
//     * @param channelId
//     * @param cityId
//     * @author tanbiao
//     * @since 2020/12/24 18:00
//     * @return
//     */
//    List<SupportTariffCategoryVO> listSupportTariffByChannelIdAndCityIdAndCategIds(Integer channelId, Integer cityId, List<ChannelPriceSupportCategoryQuery> queryList);
//
//    /**
//     * 渠道计价器试点：
//     * 	1. 渠道层面：渠道是否开通计价器试点，渠道对应的城市是否开通计价器试点（执行城市，不执行城市），渠道开通的分类是否开通计价器试点
//     * 	2. 城市层面：城市是否开通计价器试点（执行城市），城市开通的分类是否支持计价器试点。
//     *
//     * 执行逻辑：
//     * 	1.渠道层面：渠道支持计价器试点，查询城市是否在渠道配置的执行和不执行城市中，如果命中执行城市，查询渠道对应的分类是否支持；如果命中不执行城市，那么不支持；如果都不命中，那么需要执行城市层面的判断逻辑；
//     * 				渠道不支持试点，执行城市层面的处理逻辑
//     * 	2.城市层面：城市支持计价器试点，查询分类是否支持试点，不支持则不支持试点
//     * 				城市不支持计价器试点，则不支持试点
//     * 	3.需要对试点配置的类型（一口价，计价器）和状态进行判断，停用的可以当做不存在处理，执行上述1 2处理。
//     *
//     * @param channelId
//     * @param cityId
//     * @author tanbiao
//     * @since 2020/12/24 18:00
//     * @return
//     * @see com.zmn.plat.business.interfaces.pilot.ChannelPriceBService#listCategsForTariff(java.lang.Integer, java.lang.Integer)
//     */
//    @Deprecated
//    List<SupportTariffCategoryVO> listSupportTariffByChannelIdAndCityId(Integer channelId, Integer cityId);
//
//    /**
//     * 查询渠道城市是否执行一口价、计价器等
//     *
//     * @param channelId
//     * @param cityId
//     * @param type
//     *            类型：1一口价， 2计价器(故障维度)
//     * @return 返回true表示支持，false则不支持
//     * @see com.zmn.plat.business.interfaces.pilot.ChannelPriceBService#checkByChannelIdAndCityIdAndType(java.lang.Integer, java.lang.Integer, java.lang.Integer)
//     */
//    @Deprecated
//    boolean getSupportByChannelIdAndCityIdAndType(Integer channelId, Integer cityId, Integer type);
//
//    /**
//     * 查询渠道城市是否执行一口价、计价器等
//     *
//     * @param channelId
//     * @param cityId
//     * @param type
//     *            类型：1一口价， 2计价器(故障维度)
//     * @param servCategId
//     *            前台产品-服务分类ID
//     * @param categId
//     *            前台产品-二级产品分类ID
//     * @return 返回true表示支持，false则不支持
//     * @see com.zmn.plat.business.interfaces.pilot.ChannelPriceBService#checkByChannelIdAndCityIdAndTypeAndCategId(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer)
//     */
//    @Deprecated
//    boolean getSupportByChannelIdAndCityIdAndTypeAndCategId(Integer channelId, Integer cityId, Integer type, Integer servCategId, Integer categId);
//
//    /**
//     * 查询产品是否支持执行一口价、计价器等
//     *
//     * @param channelId
//     *            渠道ID
//     * @param cityId
//     *            城市ID
//     * @param type
//     *            类型：1一口价， 2计价器(故障维度)
//     * @param productId
//     *            后台产品ID（可传，如传入则校验后台产品支持计价器。不传则校验前台产品对应至少一项后台产品支持计价器）
//     * @param showProductId
//     *            前台产品ID（必传）
//     * @return 返回true表示支持，false则不支持
//     * @see com.zmn.plat.business.interfaces.pilot.ChannelPriceBService#checkByChannelIdAndCityIdAndTypeAndProductId(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer)
//     */
//    @Deprecated
//    boolean getSupportByChannelIdAndCityIdAndTypeAndProductId(Integer channelId, Integer cityId, Integer type, Integer productId, Integer showProductId);
//
//    /**
//     * 描述: 提交一口价配置信息，先检查该渠道是否有配置，如没有则新增，
//     *
//     * @param channelPriceVo
//     *            一口价配置信息
//     * @param staff
//     *            系统当前用户
//     * @author wangjie
//     * @since 18:22 2019/7/7
//     **/
//    void submitOnePrice(ChannelPriceVO channelPriceVo, LoginStaff staff);
//
//    /**
//     * 描述: 检查是否有渠道一口价配置数据
//     * <p>
//     * 有返回true,没有返回false
//     *
//     * @param channelId
//     *            渠道id
//     * @return java.lang.Boolean
//     * @author wangjie
//     * @since 18:26 2019/7/7
//     **/
//    List<ChannelPrice> checkChannelOnePrice(Integer channelId);
//
//    /**
//     * 保存渠道/城市计价器(故障维度)服务分类
//     *
//     * @param configId
//     *            配置ID
//     * @param servCategId
//     *            服务分类ID
//     * @param type
//     *            配置类型 1渠道配置 2城市配置
//     * @param showType
//     *            产品分类 1后台 2前台
//     * @param categoryIds
//     *            服务分类ID-1级分类ID-2级分类ID
//     * @param operator
//     *            the operator
//     * @author xiangjunming
//     * @since 2019 /9/5
//     */
//    void modifyServiceCategory(Integer configId, Integer servCategId, Integer type, Integer showType, List<String> categoryIds, String operator);
//
//    /**
//     * 描述: 根据主键逻辑删除数据
//     *
//     * @param channelPriceId
//     * @return
//     * @author xiangjunming
//     * @since 09:56 2019/8/1
//     */
//    void deleteLogicByKey(Integer channelPriceId, LoginStaff staff);
//
//}